Authenticating printers prior to pairing with portable electronic devices

ABSTRACT

The disclosed embodiments provide a system that facilitates the execution of a print job. During operation, the system receives, at a printer, a signal from a portable electronic device indicating the printer has been selected for the print job. Next, in response to the selection, the system generates an output that facilitates identification of the printer by a user of the portable electronic device. The system also provides a mechanism for confirming physical access to the printer by the user. Upon confirming the physical access to the printer by the user, the system establishes a connection between the portable electronic device and the printer, wherein the connection is subsequently used by the portable electronic device and the printer to perform the print job.

RELATED APPLICATION

The instant application is a continuation of, and hereby claims priorityunder 35 U.S.C. §120 to, pending U.S. patent application Ser. No.13/310,266 by the same inventors, which is entitled “AuthenticatingPrinters Prior to Pairing with Portable Electronic Devices,” which wasfiled on 2 Dec. 2011 and which is incorporated by reference.

The subject matter of this application is related to the subject matterin co-pending non-provisional application Ser. No. 13/310,239, byinventors Howard A. Miller and Michael R. Sweet, entitled “Ad-HocDiscovery and Selection of Printers for Print Jobs,” which was filed on2 Dec. 2011(Attorney Docket No. APL-P13059US1). The subject matter ofthis application is also related to the subject matter in co-pendingnon-provisional application Ser. No. 13/310,254, by inventors Howard A.Miller and Michael R. Sweet, entitled “Facilitating Communicationbetween Portable Electronic Devices and Printers,” which was filed on 2Dec. 2011 (Attorney Docket No. APL-P13061US1).

BACKGROUND

1. Field

The present embodiments relate to printers for computer systems. Morespecifically, the present embodiments relate to techniques forauthenticating a printer prior to pairing the printer with a portableelectronic device and using the printer to perform a print job for theportable electronic devices.

2. Related Art

Printers are often a problem for computer users. When a computer userinitially installs a printer, the cabling and power cords are typicallyrelatively straightforward to hook up. However, the user also has toinstall a printer-specific driver, which involves loading the driverfrom a disk and/or navigating to a website and downloading the driver.Even if the printer driver is already loaded into the computer system,the user may have to load and install an update for the driver from theprinter manufacturer's website. Such installation operations aretime-consuming and commonly require the user to find and enter a longsoftware-license key.

Printers pose an even bigger problem for users of portable electronicdevices, such as laptop computers, tablet computers, portable mediaplayers, or smartphones. Such portable electronic devices are seldomconfigured with the requisite printer driver software. In addition,installing the appropriate printer driver can be bothersome, especiallyif the user of the portable electronic device only intends to use thenearby printer once or twice. Portable electronic devices may also havelimited storage space, which makes it impractical for them to store alarge number of printer drivers.

Hence, what is needed is a system that facilitates printing from aportable electronic device to a nearby printer without theabove-described problems.

SUMMARY

The disclosed embodiments provide a system that facilitates theexecution of a print job. During operation, the system receives, at aprinter, a signal from a portable electronic device indicating theprinter has been selected for the print job. Next, in response to theselection, the system generates, an output that facilitatesidentification of the printer by a user of the portable electronicdevice. The system also provides a mechanism for confirming physicalaccess to the printer by the user. Upon confirming the physical accessto the printer by the user, the system establishes a direct connectionbetween the portable electronic device and the printer, wherein thedirect connection is subsequently used by the portable electronic deviceand the printer to perform the print job.

In some embodiments, the output is at least one of a beep, a customsound, a flash, and a message.

In some embodiments, the mechanism for confirming physical access to theprinter by the user is at least one of user input on the printer or theportable electronic device, and detection of proximity between theportable electronic device and the printer.

In some embodiments, the user input on the printer or the portableelectronic device is at least one of a button push and a personalidentifier.

In some embodiments, detection of proximity between the portableelectronic device and the printer involves at least one of:

-   -   (i) detection of audible output from the printer on the portable        electronic device;    -   (ii) a radio-frequency identification (RFID) technique;    -   (iii) an infrared-location technique;    -   (iv) a geolocation technique; and    -   (v) a Wi-Fi network.

In some embodiments, the direct connection corresponds to a Wi-Ficonnection.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows a printing system in accordance with the disclosedembodiments.

FIG. 2 shows a system for performing a print job in accordance with thedisclosed embodiments.

FIG. 3 shows a flowchart illustrating the process of performing a printjob in accordance with the disclosed embodiments.

FIG. 4 shows a flowchart illustrating the process of facilitating theexecution of a print job in accordance with the disclosed embodiments.

FIG. 5 shows a flowchart illustrating the process of facilitatingcommunication between a portable electronic device and a printer inaccordance with the disclosed embodiments.

FIG. 6 shows a flowchart illustrating the process of facilitatingcommunication between a portable electronic device connected to astructured network and a printer in accordance with the disclosedembodiments.

FIG. 7 shows a computer system in accordance with the disclosedembodiments.

In the figures, like reference numerals refer to the same figureelements.

DETAILED DESCRIPTION

The following description is presented to enable any person skilled inthe art to make and use the embodiments, and is provided in the contextof a particular application and its requirements. Various modificationsto the disclosed embodiments will be readily apparent to those skilledin the art, and the general principles defined herein may be applied toother embodiments and applications without departing from the spirit andscope of the present disclosure. Thus, the present invention is notlimited to the embodiments shown, but is to be accorded the widest scopeconsistent with the principles and features disclosed herein.

The data structures and code described in this detailed description aretypically stored on a computer-readable storage medium, which may be anydevice or medium that can store code and/or data for use by a computersystem. The computer-readable storage medium includes, but is notlimited to, volatile memory, non-volatile memory, magnetic and opticalstorage devices such as disk drives, magnetic tape, CDs (compact discs),DVDs (digital versatile discs or digital video discs), or other mediacapable of storing code and/or data now known or later developed.

The methods and processes described in the detailed description sectioncan be embodied as code and/or data, which can be stored in acomputer-readable storage medium as described above. When a computersystem reads and executes the code and/or data stored on thecomputer-readable storage medium, the computer system performs themethods and processes embodied as data structures and code and storedwithin the computer-readable storage medium.

Furthermore, methods and processes described herein can be included inhardware modules or apparatus. These modules or apparatus may include,but are not limited to, an application-specific integrated circuit(ASIC) chip, a field-programmable gate array (FPGA), a dedicated orshared processor that executes a particular software module or a pieceof code at a particular time, and/or other programmable-logic devicesnow known or later developed. When the hardware modules or apparatus areactivated, they perform the methods and processes included within them.

The disclosed embodiments facilitate the performing of print jobs fromportable electronic devices. As shown in FIG. 1, a portable electronicdevice 102 includes functionality to communicate with a set of printers106-108. Portable electronic device 102 may correspond to a mobilephone, laptop computer, tablet computer, personal digital assistant(PDA), portable media player, and/or other type of battery-poweredelectronic device. Printers 106-108 may correspond to network printersthat are capable of wired and/or wireless communications. Alternatively,one or more printers may connect to a print server as local peripheralsusing one or more printer cables and/or one or more ports (e.g.,parallel ports, serial ports, Universal Serial Bus (USB) ports).

Portable electronic device 102 may interact with printers 106-108through one or more networks. Such networks may include any type ofcommunication channel capable of coupling together network nodes. Forexample, the network(s) may include a wireless network connection, suchas a Bluetooth (Bluetooth™ is a registered trademark of Bluetooth SIG,Inc.) network connection; a cellular networking connection (e.g., a3G/4G network or an Edge network); a networking connection based on thestandards described in Institute for Electrical and Electronic Engineers(IEEE) 802.11; a wireless personal-area networking (PAN) connection,such as a network connection based on the standards described in IEEE802.15; or any peer-to-peer (wireless or wired) networking technology.

More specifically, portable electronic device 102 may includefunctionality to communicate with printers 106-108 using bothpeer-to-peer connections and direct (e.g., structured network)connections. As shown in FIG. 2, a discovery apparatus 202 in portableelectronic device 102 may discover (e.g., detect) a nearby printer 200using a discovery protocol 206 such as Bonjour (Bonjour™ is a registeredtrademark of Apple Inc.). Next, portable electronic device 102 mayestablish a peer-to-peer connection 208 with printer 200 and usepeer-to-peer connection 208 to obtain a set of printer attributes 210from printer 200. For example, portable electronic device 102 may usepeer-to-peer connection 208 to query printer 200 for printer attributes210. In response to the query, printer 200 may send printer attributes210 over peer-to-peer connection 208 to portable electronic device 102.

In one or more embodiments, printer attributes 210 include one or moreprinter capabilities. Such printer capabilities may include availableand/or supported media sizes, border sizes, media types (e.g., paper orphoto media), and/or print qualities; finishing attributes such asstapling, hole punching and booklets; and information related to printerfeatures, such as double-sided printing, output bits, and media sources.The printer capabilities may also include file-related attributes, suchas supported file sizes, file-format versions, and/or file-formatextensions. Finally, the printer capabilities may specify supportedcolor spaces, bit depths, and/or resolutions.

Printer attributes 210 may also include a printer status for printer200. The printer status may specify whether the printer is off-line,whether the printer is busy, and/or whether an error condition exists inthe printer. The printer capabilities and/or status may be stored usingTXT records, Internet Printing Protocol (IPP) attributes, and/or othertypes of data available on printer 200.

If printer attributes 210 match a print job 218 on portable electronicdevice 102, portable electronic device 102 may establish a directconnection 222 with printer 200 and send print job 218 over directconnection 222 to the printer. For example, portable electronic device102 may use a Wi-Fi network and IPP to connect directly with printer 200and transmit print job 218 as a Portable Document Format (PDF) documentand/or image and a set of print settings to printer 200. Printer 200 maythen place print job 218 into a print queue 224 and execute print job218 after print jobs preceding print job 218 in print queue 224 havecompleted and/or cancelled. While print job 218 is executing, portableelectronic device 102 may monitor print job 218 over direct connection222. Portable electronic device 102 may then remove direct connection222 after printer 200 has completed print job 218.

In other words, portable electronic device 102 may use temporarypeer-to-peer connections with a set of nearby printers to detect,interact with, and obtain printer attributes (e.g., printer attributes210) from the printers (e.g., printer 200) without requiring theprinters to join a structured (e.g., Wi-Fi) network, such as thestructured network to which portable electronic device 102 is connected.Once a printer (e.g., printer 200) is selected for use in executingprint job 218, portable electronic device 102 may establish a directconnection (e.g., direct connection 222) with the printer over astructured network to facilitate the completion of the print job by theprinter.

The system of FIG. 2 may also include functionality to authenticate useof printer 200 by a user of portable electronic device 102 prior to theestablishment of direct connection 222. First, portable electronicdevice 102 may obtain a selection 212 of printer 200 for print job 218.For example, selection 212 may be made by a user of portable electronicdevice 102 through a graphical user interface (GUI) provided by portableelectronic device 102. Next, discovery apparatus 202 may transmitselection 212 to printer 200 over peer-to-peer connection 208.

In response to selection 212, printer 200 may generate output 214 thatfacilitates identification of printer 200 by the user. For example,printer 200 may generate a beep, a custom sound (e.g., ringtone), aflash, and/or a message to allow the user to identify and/or locateprinter 200 in the vicinity of portable electronic device 102.

Printer 200 may also provide a mechanism 216 for confirming physicalaccess to printer 200 by the user. Mechanism 216 may detect physicalaccess to printer 200 through user input on printer 200 and/or portableelectronic device 102. For example, mechanism 216 may allow the user toconfirm physical access to printer 200 by pushing a button on printer200, entering a personal identifier associated with printer 200 onportable electronic device 102, and/or entering a personal identifierassociated with the user and/or portable electronic device 102 onprinter 200. Mechanism 216 may also confirm physical access to printer200 through the detection of proximity between portable electronicdevice 102 and printer 200. For example, mechanism 216 may confirmphysical proximity between portable electronic device 102 and printer200 by generating audible output on printer 200 that a nearby portableelectronic device 102 is capable of detecting. Alternatively, mechanism216 may use a radio-frequency identification (RFID) technique, aninfrared-location technique, a geolocation technique, and/or a Wi-Finetwork near both portable electronic device 102 and printer 200 todetect proximity of portable electronic device 102 to printer 200.

After use of printer 200 by the user of portable electronic device 102is authenticated, direct connection 222 may be established by printer200 and/or portable electronic device 102, thus pairing printer 200 andportable electronic device 102. Such authentication may preventunauthorized use of printer 200 and/or the transmission of print jobs(e.g., print job 218) to printer 200 if the user is unable to physicallyaccess printer 200.

As mentioned above, direct connection 222 may correspond to a Wi-Ficonnection, in which portable electronic device 102 and printer 200 areconnected to one another through a structured (e.g., Wi-Fi) network. Tofacilitate the creation of direct connection 222, portable electronicdevice 102 and/or printer 200 may use peer-to-peer connection 208 toconfirm use of the structured network for subsequent communicationbetween portable electronic device 102 and printer 200. For example,printer 200 may request permission to join the Wi-Fi network to whichportable electronic device 102 is connected upon confirming physicalaccess to printer 200 by the user of portable electronic device 102. Therequest may then be forwarded by discovery apparatus 202 to the userthrough the GUI of portable electronic device 102 for approval or denialby the user. Conversely, discovery apparatus 202 may automaticallytrigger use of the structured network for the communication after use ofprinter 200 by the user is authenticated and/or if the distance betweenportable electronic device 102 and printer 200 exceeds the range ofpeer-to-peer connection 208.

Next, communication apparatus 204 may enable use of the structurednetwork for the communication (e.g., over direct connection 222) bytransmitting credentials 220 for the structured network to printer 200.For example, portable electronic device 102 may use peer-to-peerconnection 208 to send credentials 220 as a network name and a passwordfor a Wi-Fi network to which portable electronic device 102. Printer 200may then use credentials 220 to connect to the structured network, andthe communication may be transferred from peer-to-peer connection 208 todirect connection 222. On the other hand, if the structured network iscongested, the communication may be transferred from direct connection222 back to peer-to-peer connection 208.

Consequently, the system of FIG. 2 may streamline printing on portableelectronic device 102 by facilitating the detection, identification,authentication, and/or use of printer 200 by portable electronic device102. More specifically, discovery apparatus 202 may enable the use ofad-hoc peer-to-peer connections (e.g., peer-to-peer connection 208) indetecting and matching nearby printers to print jobs on portableelectronic device 102, as well as the authentication of such printersfor use by the user of portable electronic device 102. In addition,communication apparatus 204 may minimize the amount of user inputrequired to establish a direct connection (e.g., direct connection 222)with the printer (e.g., printer 200) selected for a print job (e.g.,print job 218).

Those skilled in the art will appreciate that the system of FIG. 2 maybe implemented in a variety of ways. For example, discovery apparatus202 and communication apparatus 204 may be provided by the same softwareand/or hardware component, or discovery apparatus 202 and communicationapparatus 204 may execute independently from one another. Similarly,discovery apparatus 202 and/or communication apparatus 204 may beimplemented by printer 200, in addition to or in lieu of correspondingcomponents on portable electronic device 102.

FIG. 3 shows a flowchart illustrating the process of performing a printjob in accordance with the disclosed embodiments. In one or moreembodiments, one or more of the steps may be omitted, repeated, and/orperformed in a different order. Accordingly, the specific arrangement ofsteps shown in FIG. 3 should not be construed as limiting the scope ofthe technique.

Initially, a printer is detected in proximity to a portable electronicdevice associated with the print job (operation 302). The printer may bedetected using a discovery protocol such as Bonjour. Next, apeer-to-peer connection is established between the portable electronicdevice and the printer (operation 304).

While the peer-to-peer connection is established, the portableelectronic device and printer may be paired, and/or use of the printerby the portable electronic device may be authenticated, as discussed infurther detail below with respect to FIGS. 4-5.

The peer-to-peer connection is also used to obtain a set of printerattributes from the printer (operation 306). The printer attributes mayinclude a printer capability such as a supported and/or available mediasize, media type, border size, resolution, print quality, file format,and/or other capability of the printer. The printer attributes may alsoinclude a printer status that specifies whether the printer is off-line,whether the printer is busy, and/or whether an error condition exists inthe printer.

The printer attributes may be compared with the print job to determineif the printer attributes match the print job (operation 308). Forexample, the printer attributes may match the print job if the printersupports and/or includes media sizes, media types, ink, and/or otherprint settings that are suitable for execution of the print job. If theprinter attributes do not match the print job, the printer may not beused to perform the print job.

If the printer attributes match the print job, the printer may be usedto execute the print job. First, a direct connection between the printerand the portable electronic device is established (operation 310). Thedirect connection may correspond to a Wi-Fi connection, in which theprinter and portable electronic device communicate with one another overthe same Wi-Fi network. Next, the print job is sent to the printer overthe direct connection (operation 312) so that the printer may executethe print job. For example, the print job may be transmitted from theportable electronic device to the printer using IPP and placed in aprint queue by the printer. The print job may then be performed by theprinter after other print jobs preceding the print job in the printqueue have been completed and/or cancelled.

The print job may also be monitored over the direct connection(operation 314) while the print job is pending. During the monitoring,events related to the print job (e.g., delays, cancellations, paperjams, etc.) may be obtained from the printer by the portable electronicdevice, managed by the portable electronic device, and/or communicatedto a user of the portable electronic device. Finally, the directconnection may be removed after the printer has completed the print job(operation 316).

FIG. 4 shows a flowchart illustrating the process of facilitating theexecution of a print job in accordance with the disclosed embodiments.In one or more embodiments, one or more of the steps may be omitted,repeated, and/or performed in a different order. Accordingly, thespecific arrangement of steps shown in FIG. 4 should not be construed aslimiting the scope of the technique.

First, a selection of a printer for a print job from a portableelectronic device is received at the printer (operation 402). Theselection may be transmitted from the portable electronic device to theprinter over a peer-to-peer connection. In response to the selection,output that facilitates identification of the printer by a user of theportable electronic device is generated (operation 404). The output maycorrespond to a beep, a custom sound (e.g., ringtone), a flash, and/or amessage on the printer.

In addition, a mechanism for confirming physical access to the printerby the user is provided (operation 406). The mechanism may correspond touser input on the printer and/or the portable electronic device, such asa button push and/or a personal identifier. Alternatively, the mechanismmay involve the detection of proximity between the portable electronicdevice and the printer through the sensing of audible output from theprinter on the portable electronic device, an RFID technique, aninfrared-location technique, a geolocation technique, and/or a Wi-Finetwork.

Physical access to the printer by the user may be confirmed (operation408) by the mechanism. If physical access to the printer by the user isnot confirmed by the mechanism, use of the printer by the user is notauthenticated, and the printer and portable electronic device are notpaired. If physical access to the printer by the user is confirmed bythe mechanism, use of the printer by the user is authenticated, and adirect connection is established between the printer and the portableelectronic device (operation 410), thus pairing the printer and theportable electronic device. The direct connection may subsequently beused by the portable electronic device and the printer to perform theprint job, as described above. Establishment of direct connectionsbetween printers and portable electronic devices is discussed in furtherdetail below with respect to FIG. 6.

FIG. 5 shows a flowchart illustrating the process of facilitatingcommunication between a portable electronic device and a printer inaccordance with the disclosed embodiments. In one or more embodiments,one or more of the steps may be omitted, repeated, and/or performed in adifferent order. Accordingly, the specific arrangement of steps shown inFIG. 5 should not be construed as limiting the scope of the technique.

First, a selection of the printer for the print job is obtained on theportable electronic device (operation 502). The selection may be made bythe portable electronic device and/or a user of the portable electronicdevice. For example, the portable electronic device may select theprinter as the closest printer with printer attributes that match theprint job and to which the user has access rights. On the other hand,the user may select the printer from a list of nearby printers detectedusing a discovery protocol and displayed within a GUI on the portableelectronic device. Once the selection is made, the selection istransmitted to the printer (operation 504), where the selection is usedby the printer to generate output that facilitates identification of theprinter by the user.

Confirmation of physical access to the printer by the user may bereceived (operation 506) after the output is generated. If theconfirmation is not received, use of the printer by the user is notauthenticated, and the printer and portable electronic device are notpaired. If the confirmation is received, use of the printer by the useris authenticated, and a direct connection is established between theprinter and the portable electronic device (operation 508), thus pairingthe printer and the portable electronic device. The direct connectionmay then be used by the portable electronic device and the printer toperform the print job.

FIG. 6 shows a flowchart illustrating the process of facilitatingcommunication between a portable electronic device connected to astructured network and a printer in accordance with the disclosedembodiments. In one or more embodiments, one or more of the steps may beomitted, repeated, and/or performed in a different order. Accordingly,the specific arrangement of steps shown in FIG. 6 should not beconstrued as limiting the scope of the technique.

Initially, a peer-to-peer connection between the portable electronicdevice and the printer is used to confirm use of the structured networkfor subsequent communication between the portable electronic device andthe printer (operation 602). The structured network may correspond to aWi-Fi network. To confirm use of the structured network for thecommunication, a selection of an option to connect the printer to thestructured network may be obtained from a user of the portableelectronic device, or a request from the printer to connect to thestructured network may be received at the portable electronic device.Use of the structured network for the communication may also betriggered if the distance between the portable electronic device and theprinter exceeds the range of the peer-to-peer connection.

The peer-to-peer connection is also used to authenticate use of theprinter by a user of the portable electronic device (operation 604). Asdiscussed above, use of the printer may be authenticated by confirmingphysical access to the printer by the user.

Use of the structured network for the communication may then be enabledby transmitting credentials for the structured network from the portableelectronic device to the printer (operation 606). For example, theportable electronic device may transmit a network name and password forthe structured network to the printer over the peer-to-peer connection,and the printer may use the network name and password to connect to thestructured network. Once the printer is connected to the structurednetwork, the communication is transferred from the peer-to-peerconnection to a direct connection between the portable electronic deviceand the printer on the structured network (operation 608).

The communication may also be modified based on the congestion level ofthe structured network (operation 610). If the structured network is notcongested, the communication may remain on the direct connection untilthe direct connection is removed (e.g., after the printer has completeda print job from the portable electronic device). If the structurednetwork is congested, the communication is transferred from the directconnection back to the peer-to-peer connection (operation 612). Thecommunication may subsequently be transferred back to the directconnection if the structured network becomes less congested and/or ifthe portable electronic device moves out of range of the peer-to-peerconnection.

FIG. 7 shows a computer system 700 in accordance with an embodiment.Computer system 700 may correspond to an apparatus that includes aprocessor 702, memory 704, storage 706, and/or other components found inelectronic computing devices. Processor 702 may support parallelprocessing and/or multi-threaded operation with other processors incomputer system 700. Computer system 700 may also include input/output(I/O) devices such as a keyboard 708, a mouse 710, and a display 712.

Computer system 700 may include functionality to execute variouscomponents of the present embodiments. In particular, computer system700 may include an operating system (not shown) that coordinates the useof hardware and software resources on computer system 700, as well asone or more applications that perform specialized tasks for the user. Toperform tasks for the user, applications may obtain the use of hardwareresources on computer system 700 from the operating system, as well asinteract with the user through a hardware and/or software frameworkprovided by the operating system.

In one or more embodiments, computer system 700 provides a system forperforming a print job. The system may include a discovery apparatus anda communication apparatus. The discovery apparatus may detect a printerin proximity to a portable electronic device associated with the printjob. Next, the discovery apparatus may establish a peer-to-peerconnection between the portable electronic device and the printer anduse the peer-to-peer connection to obtain a set of printer attributesfrom the printer. If the printer attributes match the print job, thecommunication apparatus may establish a direct connection between theprinter and the portable electronic device and send the print job to theprinter over the direct connection for execution of the print job by theprinter. The communication apparatus may also monitor the print job overthe direct connection and remove the direct connection after the printerhas completed the print job.

The discovery apparatus and communication apparatus may additionallyfacilitate communication between a portable electronic device connectedto a structured network and a printer. The discovery apparatus may usethe peer-to-peer connection between the portable electronic device andthe printer to confirm use of the structured network for subsequentcommunication between the portable electronic device and the printer.Next, the communication apparatus may enable use of the structurednetwork for the communication by transmitting credentials for thestructured network from the portable electronic device to the printer.After the printer is connected to the structured network using thetransmitted credentials, the communication apparatus may transfer thecommunication from the peer-to-peer connection to the structurednetwork.

In one or more embodiments, computer system 700 also provides a systemfor facilitating the execution of a print job. The system may obtain aselection of a printer for a print job and transmit the selection to theprinter to enable use of the selection by the printer in generatingoutput that facilitates identification of the printer by a user. Uponreceiving confirmation of physical access to the printer by the user,the system may establish a direct connection with the printer and usethe direct connection to perform the print job.

In addition, one or more components of computer system 700 may beremotely located and connected to the other components over a network.Portions of the present embodiments (e.g., discovery apparatus,communication apparatus, portable electronic device, printer, etc.) mayalso be located on different nodes of a distributed system thatimplements the embodiments. For example, the present embodiments may beimplemented using a number of portable electronic devices connected to aset of printers using a set of peer-to-peer and/or direct connections.

The foregoing descriptions of various embodiments have been presentedonly for purposes of illustration and description. They are not intendedto be exhaustive or to limit the present invention to the formsdisclosed. Accordingly, many modifications and variations will beapparent to practitioners skilled in the art. Additionally, the abovedisclosure is not intended to limit the present invention.

What is claimed is:
 1. A method, comprising: in a printer, performingoperations for: receiving a signal from a portable electronic deviceindicating that the printer has been selected; confirming physicalaccess to the printer by a user of the portable electronic device bydetecting a push of a button on the printer; and upon confirming thephysical access, establishing a connection between the portableelectronic device and the printer, wherein the connection enables theportable electronic device to use the printer to perform a print job. 2.The method of claim 1, further comprising: in the printer, performingoperations for: generating, in response to the signal, an output thatfacilitates identification of the printer by the user.
 3. The method ofclaim 2, wherein the output is at least one of a beep, a custom sound, aflash, and a message.
 4. The method of claim 1, wherein the connectioncomprises a structured network connection.
 5. The method of claim 4,wherein the structured network connection comprises a Wi-Fi networkconnection.
 6. A method, comprising: in a portable electronic device,performing operations for: sending a signal to a printer, the signalindicating that the printer has been selected, wherein the signal isconfigured to cause the printer to confirm physical access to theprinter by a user of the portable electronic device by detecting a pushof a button on the printer; and establishing, based on the confirmationof the physical access, a connection between the portable electronicdevice and the printer, wherein the connection enables the portableelectronic device to use the printer to perform a print job.
 7. Themethod of claim 6, further comprising: in the portable electronicdevice, performing operations for: receiving a selection of the printer.8. The method of claim 7, wherein the selection is received from one of:a user; and the portable electronic device.
 9. The method of claim 6,wherein the connection comprises a structured network connection. 10.The method of claim 9, wherein the structured network connectioncomprises a Wi-Fi network connection.
 11. A method, comprising: in aprinter, performing operations for: receiving a signal from a portableelectronic device indicating that the printer has been selected;confirming physical access to the printer by a user of the portableelectronic device by detecting an entry of an identifier on the printer;and upon confirming the physical access, establishing a connectionbetween the portable electronic device and the printer, wherein theconnection enables the portable electronic device to use the printer toperform a print job.
 12. The method of claim 11, further comprising: inthe printer, performing operations for: generating, in response to thesignal, an output that facilitates identification of the printer by theuser.
 13. The method of claim 12, wherein the output is at least one ofa beep, a custom sound, a flash, and a message.
 14. The method of claim11, wherein the connection comprises a structured network connection.15. The method of claim 14, wherein the structured network connectioncomprises a Wi-Fi network connection.
 16. A method, comprising: in aportable electronic device, performing operations for: sending a signalto a printer, the signal indicating that the printer has been selected,wherein the signal is configured to cause the printer to confirmphysical access to the printer by a user of the portable electronicdevice by detecting an entry of an identifier on the printer; andestablishing, based on the confirmation of the physical access, aconnection between the portable electronic device and the printer,wherein the connection enables the portable electronic device to use theprinter to perform a print job.
 17. The method of claim 16, furthercomprising: in the portable electronic device, performing operationsfor: receiving a selection of the printer.
 18. The method of claim 17,wherein the selection is received from one of: a user; and the portableelectronic device.
 19. The method of claim 16, wherein the connectioncomprises a structured network connection.
 20. The method of claim 19,wherein the structured network connection comprises a Wi-Fi networkconnection.